home *** CD-ROM | disk | FTP | other *** search
/ CD ROM Paradise Collection 4 / CD ROM Paradise Collection 4 1995 Nov.iso / program / swagg_m.zip / MOUSE.SWG / 0003_MOUSPIC2.PAS.pas < prev    next >
Pascal/Delphi Source File  |  1993-05-28  |  1KB  |  37 lines

  1. {
  2. >Hey Programmers,
  3. >        I'm trying to change the way my mouse cursor looks in one of my
  4. >Programs from the standard block to an arrow.  I looked up the inFormation
  5. >in my interrupt list and found that I need to use Interrupt 33h (Big
  6. >surprise) With AX = 0009h.  I'm ok up to this point, but the inFormation
  7. >lost me when is says that ES:DX->bitmap With 16 Words screen mask and 16
  8. >Words cursor mask.  Now I know what it means and have already defined the
  9. >code For my curse, but how do I assign ES:DX to its value? (Source example
  10. >below).  Any help would be great and please E-MAIL it to me.  Thanks
  11. }
  12.  
  13. Const
  14.    ArrowCursor: Array [0..31] of Word = (
  15.             $3fff,$1fff,$fff,$7ff,$3ff,$1ff,$ff,$7f,
  16.            $3f,$1f,$f,$7,$1847,$387f,$fc3f,$fe7f,
  17.            $0,$4000,$6000,$7000,$7800,$7c00,$7e00,$7f00,
  18.            $7f80,$7fc0,$7fe0,$6730,$4300,$300,$180,$0);
  19.    HotSpotX : Word = 1;
  20.    HotSpotY : Word = 0;
  21.  
  22.  
  23. Procedure ArrowMouse;
  24. Var regs : Registers;
  25. begin
  26.    Regs.AX := $000A;
  27.    Regs.BX := HotSpotX;
  28.    Regs.CX := HotSpotY;
  29.  
  30.    { ES:DX -> bitmap  16 Words screen mask  16 Words cusor mask }
  31.    Regs.ES := Seg(ArrowCursor); { Answer :) }
  32.    Regs.DX := ofs(ArrorCursor); { Answer :) }
  33.  
  34.    intr($33,Regs);
  35. end;
  36.  
  37.